Programmable chips, such as field-programmable gate arrays (FPGAs), are widely used in various applications due to their relative speed and flexibility. Unfortunately, techniques, such as differential power analysis (DPA), have been developed for monitoring variations in an FPGA's power consumption which facilitates reverse engineering of the FPGA.
In one example, an FPGA may initialize from a boot read-only memory (ROM) which contains data that configures the FPGA to perform a desired function. The data on the boot ROM may be encrypted to prevent reverse engineering of the data. The FPGA, during initialization, reads the encrypted data from the boot ROM, decrypts the data, and loads the decrypted data. Unfortunately, the above-mentioned DPA techniques have enabled individuals to extract cryptographic keys during the FPGA decryption process, making encryption at best vulnerable, and at worst ineffective.